package ofc4j.model.elements;

import java.util.ArrayList;
import java.util.Collection;

import ofc4j.model.metadata.Alias;

public abstract class Element {
    private final String type;
    private Float alpha;
    private String text;
    @Alias("font-size") private Integer fontSize;
    private Collection<Object> values = new ArrayList<Object>();
    
    protected Element(String type) {
        this.type = type;
    }
    
    public String getType() {
        return type;
    }

    public Float getAlpha() {
        return alpha;
    }

    public Element setAlpha(Float alpha) {
        this.alpha = alpha;
        return this;
    }

    public String getText() {
        return text;
    }

    public Element setText(String text) {
        this.text = text;
        return this;
    }

    public Integer getFontSize() {
        return fontSize;
    }

    public Element setFontSize(Integer fontSize) {
        this.fontSize = fontSize;
        return this;
    }
    
    public Collection<Object> getValues() {
        return values;
    }
}
